<?php
/**
 * Created by PhpStorm.
 * User: chenxiang
 * Date: 2017/4/30
 * Time: 09:19
 */

namespace App\Http\Controllers\Home;


use App\Model\Admin;
use App\Model\AdminRole;
use App\Model\Json;
use App\Model\Role;
use Illuminate\Http\Request;

class AdminController extends CommonController
{
    // 管理员列表
    public function index(){
        $admin = Admin::where('id','!=',1)->paginate(15);
        return view('Home.Admin.index',compact('admin'));
    }

    // 添加 管理员 的方法
    public function Add(Request $request){
        $input = $request->only('name','username','password','password_confirmation','address','phone');
        $admin = Admin::Admin_create($input);
        if($admin && $admin['status']){
            return Json::success('添加成功','添加成功');
        }else{
            return Json::error('添加失败','添加失败');
        }
    }


    // 管理员删除 的方法
    public function delete(Request $request){
        $id = $request->input('id');
        return Admin::Admin_delete($id);
    }

    // 重置 管理员 密码的  方法
    public function password_reset(Request $request){
        $data = $request->only('id','password','password_confirmation');
        return Admin::Admin_Password_reset($data);
    }

    // 获取 管理员 角色信息的 方法
    public function Role(Request $request){
        $id = $request->input('id');
        $A_Role = AdminRole::where('admin',$id)->get();
//        return view('Home.Index');
//        return $A_Role;
        foreach($A_Role as $val){
            $ids[] = $val->role;
        }
        if(isset($ids)){
            $AdminRole = Role::whereIn('id',$ids)->get();
            $Role = Role::whereNotIn('id',$ids)->get();
        }else{
            $AdminRole = array();
            $Role = Role::get();
        }
        return Json::success(compact('AdminRole','Role'));
    }

    // 管理员 添加删除 角色的方法
    public function RoleEdit(Request $request){
        // 获取 表单信息
        $input = $request->only('id','Role','AdminRole');
        // 获取 被操作 者 信息
        $admin = Admin::find($input['id']);
        if(!$admin){
            return Json::error('管理员信息有误');
        }
        // 添加 管理员 角色
        if($input['Role']){
            foreach($input['Role'] as $val){
                $data = AdminRole::RoleAdd($input['id'],$val);
                if($data && $data['status']){
                    $Role[] = $val;
                }else{
                    $Role[] = $data;
                }
            }
        }
        // 删除 管理员 角色
        if($input['AdminRole']){
            foreach($input['AdminRole'] as $val){
                $data = AdminRole::RoleDel($input['id'],$val);
                if($data && $data['status']){
                    $AdminRole[] = $val;
                }else{
                    $AdminRole[] = $data;
                }
            }
        }
        return Json::success(compact('AdminRole','Role'));
    }

}